1. Field of the Invention
The present invention relates generally to computer systems, and more particularly relates to automatically installing selected software components in a target computer system according to a profile of the target system.
2. Description of Related Art
Modem software systems often are organized as a core program that can access numerous secondary components such as drivers, libraries, modules, or files. In some systems, after the core program is installed and operating in a desired computer (called the "target system"), the core program does not need to access every component of the software system. Instead, the core program needs to access only selected components of the software system that relate to a particular applications, devices, or functions of the target system. However, in most of these software systems, all the components are installed in the target system because the particular applications or functions are not known in advance.
One known software system is used in connection with computer systems used by shippers for processing shipments of surface-carried packages, packages carried by air, and express packages destined to be carried to a remote destination by a carrier. For example, a high-volume shipper, such as a product distributor, has a computer system that includes a processor, a storage device, a label printer, and a document printer. Shipment management software runs on the computer system. The shipment management software maintains a database on the storage device containing the names and addresses of destinations that receive packages.
When an outbound package is ready for shipment, a user of the software enters the destination into the database, or recalls it from the database if it has been entered previously. The user enters data identifying the carrier, method of delivery, package size and weight, and other information describing the shipment. The shipment management software prints a package label on the label printer; the package label contains the address, routing information such as bar codes, and other information used by the carrier to deliver the package to its destination. The shipment management software may also print documentation relating to the package on the document printer, such as an airbill, manifest, Customs declaration forms, or various reports.
Contemporary systems of this type are configured to operate in connection with numerous different carriers, each of whom has a different fee or rate structure. Exemplary carriers include the Roadway Express, United Parcel Service, Federal Express, DHL, etc.
Typically, the manufacturer of the shipment management software configures the shipper's computer system for the shipper, who buys or leases the computer system from the manufacturer. Thus, the shipper is a customer of the manufacturer, and the manufacturer builds the system to order of the customer. The shipment management software that runs on the shipper's computer is part of a software system including a set of carrier files. Each of the carrier files is uniquely associated with one of the carriers. The price of the computer system paid by the shipper to the manufacturer is determined, in part, by the number and identity of the carrier files needed or to be used by the shipper. When the manufacturer configures the computer for the shipper, the core program and all the carrier files are loaded onto the shipper's computer.
While the approach described above results in installation of the software system on the customer's computer, it has several significant disadvantages. For example, this approach installs all the components of the software system on the customer's computer, even though the customer may have paid for only a subset of the components. Thus, this approach creates the risk that the customer may be able to have unauthorized access to or use of certain components. It is desirable to install on the customer computer only those components that the customer has specifically ordered and paid for.
The approach described above also wastes computer resources. For example, the customer computer is loaded with numerous components that will never be used by the core program. This approach wastes time by carrying out file transfer operations or copying operations that are unnecessary. It is desirable to save installation time by installing only those components that are needed by the shipment management program.
Also, this approach unnecessarily uses valuable storage space on data storage devices in the customer computer. It is desirable to save data transmission time and storage space by installing only those carrier files that are needed by the shipment management program.
For all these reasons, there is a need for a method, apparatus and product that can selectively install components of a software system in a target system according to a profile of the target system, so that the target system receives only selected components that are identified in the profile.